home *** CD-ROM | disk | FTP | other *** search
/ Now That's What I Call Games 3 / Now That's What I Call Games 3 - Games & Goodies (1993)(Multi Media Machine)[!][CD32-CDTV].iso / pd / jonas_fulstrand / game.s < prev    next >
Text File  |  1980-12-02  |  33KB  |  1,853 lines

  1. ; // Amiga Exec Offset list //
  2. Openlibrary:      equ   -408
  3. Closelibrary:     equ   -414
  4. Forbid:           equ   -132
  5. Permit:           equ   -138
  6. Allocmem:         equ   -198
  7. Freemem:          equ   -210
  8. ; // _AbsExecBase
  9. Sysbase:      equ    $04
  10. ; // Amiga Dos Offset list //
  11. Open:             equ   -30
  12. Close:            equ   -36
  13. Read:             equ   -42
  14. Write:            equ   -48
  15. Deletefile:       equ   -72
  16. LoadSeg:          equ   -150
  17. Delay:            equ   -198
  18. Execute:          equ   -222
  19. Input:          equ    -54
  20. Output:          equ    -60
  21. ; // FileModes //
  22. Mode_Newfile:     equ   $3ee
  23. Mode_Oldfile:     equ   $3ed
  24.  
  25.     move.l    sysbase,a6
  26.     lea    dosname,a1
  27.     jsr    OpenLibrary(a6)
  28.     move.l    d0,dosbase
  29.     lea    gfxname,a1
  30.     jsr    OpenLibrary(a6)
  31.     move.l    d0,gfxbase
  32.     add.l    #$32,d0
  33.     move.l    d0,copbase    
  34.     move.l    #270000,d0
  35.     move.l    #65538,d1
  36.     jsr    AllocMem(a6)
  37.     cmp.l    #0,d0
  38.     beq    slut
  39.     move.l    d0,membase
  40.     add.l    #190000,d0
  41.     move.l    d0,chars
  42.     move.l    membase,d0
  43.     add.l    #210000,d0
  44.     move.l    d0,mtdata
  45.     move.l    #chfile,a0
  46.     move.l    chars,d0
  47.     jsr    LoadFile
  48.     move.l    #pgfile,a0
  49.     move.l    #playground,d0
  50.     jsr    LoadFile
  51.     move.l    #musfile,a0
  52.     move.l    mtdata,d0
  53.     jsr    LoadFile
  54.     lea    cpr,a2
  55.     move.l    membase,d0
  56.     swap    d0
  57.     move.w    d0,2(a2)
  58.     swap    d0
  59.     move.w    d0,6(a2)
  60.     add.l    #81920,d0
  61.     swap    d0
  62.     move.w    d0,10(a2)
  63.     swap    d0
  64.     move.w    d0,14(a2)
  65.     move.l    membase,d0
  66.     add.l    #165000,d0
  67.     move.l    d0,bakgr
  68.     lea    pblank,a2
  69.     swap    d0
  70.     move.w    d0,2(a2)
  71.     swap    d0
  72.     move.w    d0,6(a2)
  73.     move.l    membase,d0
  74.     add.l    #206000,d0
  75.     move.l    d0,infoscr
  76.     lea    info,a2
  77.     swap    d0
  78.     move.w    d0,2(a2)
  79.     swap    d0
  80.     move.w    d0,6(a2)
  81.     move.w    #$6666,rugr
  82.     move.w    #$6666,rugl
  83.     move.l    #gubbsprite,d0
  84.     lea    sprite,a2
  85.     swap    d0
  86.     move.w    d0,2(a2)
  87.     swap    d0
  88.     move.w    d0,6(a2)
  89.  
  90.     move.l    bakgr,a0
  91.     move.l    #24980,d0
  92. fylla:    move.b    #$ff,(a0)+
  93.     dbra    d0,fylla
  94.     jsr    blackout
  95.     move.l    #38,d0
  96.     jsr    ritagubbe
  97.     move.l    #200,d0
  98. hdf:    jsr    realrsync
  99.     dbra    d0,hdf
  100.  
  101.  
  102.     jsr    Forbid(a6)
  103.     move.w    #$0080,$dff096
  104.     move.l    copbase,a0
  105.     move.l    (a0),oldcop
  106.     move.l    #cpr,(a0)
  107.     move.w    #$8080,$dff096
  108. ;    jsr    Permit(a6)
  109.  
  110. greset:    move.l    startinglevel,level
  111.     jsr    spritesgone
  112.     jsr    blackout
  113.     jsr    clearinfo
  114.     jsr    introduction
  115.     move.l    antalliv,lives
  116.     jsr    clearinfo
  117.     jsr    mt_init
  118.  
  119. weiron:
  120.     jsr    spritesgone
  121.     jsr    blackout
  122.     jsr    Draw
  123.     jsr    spritesetup
  124.     jsr    lightson
  125.     move.l    #0,d0
  126.     jsr    ritagubbe
  127. nextra:    lea    levline,a0
  128.     jsr    drawinfo
  129.     jsr    spritestartup
  130.     move.l    level,d0
  131.     lsl.l    #4,d0
  132.     lea    leveldata,a0
  133.     add.l    d0,a0    
  134.     move.l    (a0),gubbx
  135.     move.l    4(a0),gubby
  136.     move.l    #0,nycklar
  137.     move.l    #0,hoppa
  138.     move.l    #10,detect
  139.     move.l    #0,fall
  140.     move.l    #0,klarat
  141.     move.l    8(a0),nyckn
  142.     move.l    #0,slafs
  143.  
  144. scrl:
  145.     cmp.l    #1,slafs
  146.     beq    doedens
  147.     move.l    gubby,gamy
  148.     move.l    gubbx,d0
  149.     move.l    gubby,d1
  150.     sub.l    #145,d0
  151.     sub.l    #76,d1
  152.     jsr    plotscn
  153.     jsr    getgaddrs
  154.     jsr    collision
  155.     jsr    zpritte
  156.     jsr    checkers
  157.     jsr    hanglas
  158.     cmp.l    #1,klarat
  159.     beq    jaaahhh
  160.     jsr    rutsch
  161.     cmp.l    #1,ruts
  162.     beq    tyx
  163.     cmp.l    #0,hoppa
  164.     bne    gh
  165.     jsr    akatrappa
  166.     move.l    #1,ramla
  167.     jsr    down
  168. gh:    cmp.l    #0,fall
  169.     bne    nehe2
  170.     btst    #1,$dff00c
  171.     beq    nehe
  172.     move.l    #8,gubbh    ;move left
  173.     sub.l    #1,gubbg
  174.     jsr    ritagubben
  175.     jsr    huppe    
  176.     cmp.l    #0,hoppa
  177.     bne    nehe2
  178.     jsr    left
  179.     jmp    guft
  180. nehe:    btst    #1,$dff00d
  181.     beq    nehe2        ;move right
  182.     move.l    #0,gubbh    
  183.     add.l    #1,gubbg
  184.     jsr    ritagubben
  185.     jsr    huppe
  186.     cmp.l    #0,hoppa
  187.     bne    nehe2
  188.     jsr    right
  189.     jmp    guft
  190. nehe2:
  191.     jsr    huppe
  192. guft:    jsr    hopp
  193.  
  194. tyx:    move.l    gamy,d0
  195.     cmp.l    gubby,d0
  196.     blt    snyggve
  197.     jsr    uppdat
  198.     jsr    livingchars
  199.     jsr    rsync
  200.     jsr    rullband
  201.     jsr    rsync
  202.     jmp    mw
  203. snyggve:jsr    rsync
  204.     jsr    uppdat
  205.     jsr    livingchars
  206.     jsr    rullband
  207.     jsr    rsync
  208. mw:    btst    #6,$bfe001
  209.     bne    scrl
  210.  
  211. finis:  jsr    mt_end
  212.     move.l    SysBase,a6
  213. ;    jsr    Forbid(a6)
  214.     move.w    #$0080,$dff096
  215.     move.l    copbase,a0
  216.     move.l    oldcop,(a0)
  217.     move.w    #$8080,$dff096
  218.     jsr    Permit(a6)
  219.     move.l    membase,a1
  220.     move.l    #270000,d0
  221.     jsr    FreeMem(a6)
  222.  
  223. slut:    rts
  224. realrsync:btst    #0,$dff005
  225.     bne    realrsync
  226. rr2:    btst    #0,$dff005
  227.     beq    rr2
  228.     rts
  229.  
  230. Rsync:  btst    #0,$dff005
  231.     bne    rsync
  232. r2:    btst    #0,$dff005
  233.     beq    r2
  234.     jsr    mt_music
  235.     rts
  236.  
  237. collision:
  238.     move.w    $dff00e,d0
  239.     sub.l    #1,detect
  240.     cmp.l    #0,detect
  241.     bne    slink
  242.     add.l    #1,detect
  243.     and.l    #$0e00,d0
  244.     cmp.w    #$00,d0
  245.     beq    slink
  246.     move.l    #1,slafs
  247. slink:    rts
  248. jaaahhh:jsr    spritesgone
  249.     move.l    #30,d0
  250. gf:    jsr    rsync
  251.     dbra    d0,gf
  252.     move.l    #31,d4
  253. rt:    add.l    #1,gubby
  254.     move.l    gubbx,d0
  255.     move.l    gubby,d1
  256.     sub.l    #145,d0
  257.     sub.l    #76,d1
  258.     jsr    plotscn
  259.     jsr    rsync
  260.     dbra    d4,rt        
  261.     add.l    #1,level
  262.     jmp    nextra
  263.  
  264. hanglas:move.l    nycklar,d0
  265.     cmp.l    nyckn,d0
  266.     bne    aetsdf
  267.     move.l    gaddr,d0
  268.     cmp.l    gsaddr,d0
  269.     bne    aetsdf
  270.     move.l    gubby,d0
  271.     and.l    #7,d0
  272.     cmp.l    #0,d0
  273.     bne    aetsdf    
  274.     move.l    gaddr,a0
  275.     cmp.b    #'w',160(a0)
  276.     bne    aetsdf
  277.     move.l    #1,klarat
  278. aetsdf:    rts
  279. doedens:jsr    gubbdo
  280.     move.l    #40,d0
  281. swett:    jsr    rsync
  282.     dbra    d0,swett
  283.     cmp.l    #0,lives
  284.     beq    gove
  285.     sub.l    #1,lives
  286.     jmp    weiron
  287. gove:move.l    #gotxt,a0
  288.     move.l    infoscr,a1
  289.     add.l    #642,a1
  290.     jsr    drawline
  291.     move.l    #200,d6
  292. ubg:    jsr    rsync
  293.     dbra    d6,ubg
  294.     jsr    mt_end
  295.     jmp    greset    
  296.  
  297. mew:    btst    #6,$bfe001
  298.     bne    mew
  299.     jmp    finis
  300. checkers:move.l    gaddr,a2
  301.     jsr    testa
  302.     sub.l    #160,a2
  303.     jsr    testa
  304.     move.l    gsaddr,a2
  305.     jsr    testa
  306.     sub.l    #160,a2
  307.     jsr    testa
  308.     move.l    gubby,d0
  309.     and.l    #7,d0
  310.     cmp.l    #0,d0
  311.     beq    rets
  312.     move.l    gaddr,a2
  313.     add.l    #160,a2
  314.     jsr    testa
  315.     move.l    gsaddr,a2
  316.     add.l    #160,a2
  317.     jsr    testa
  318. rets:    rts
  319. testa:    cmp.b    #'u',(a2)
  320.     beq    nyckel
  321.     cmp.b    #'r',(a2)
  322.     beq    dod
  323.     cmp.b    #'s',(a2)
  324.     beq    dod
  325.     cmp.b    #'t',(a2)
  326.     beq    dod
  327.     rts
  328.  
  329. nyckel:    move.l    a2,d0
  330.     move.l    #playground,d1
  331.     sub.l    d1,d0
  332.     move.l    #0,d1
  333.     jsr    writech
  334.     move.b    #'v',(a2)
  335.     add.l    #1,nycklar    
  336.     rts
  337.  
  338. dod:    move.l    #1,slafs
  339.     rts
  340. rullband:
  341.     move.l    gaddr,a0
  342.     cmp.b    #'c',160(a0)
  343.     bne    ghj
  344.     jsr    right
  345. ghj:    move.l    gsaddr,a0
  346.     cmp.b    #'d',160(a0)
  347.     bne    ghyj
  348.     jsr    left
  349. ghyj:    rts
  350. rutsch:    move.l    #0,ruts
  351.     cmp.l    #0,hoppa
  352.     bne    guhd
  353.     move.l    gaddr,a0
  354.     cmp.b    #'m',160(a0)
  355.     bne    ghd
  356.     move.l    #1,ruts
  357.     add.l    #1,gubbx
  358.     move.l    #0,ramla
  359.     move.l    #0,fall
  360.     jsr    down
  361.     rts
  362. ghd:    move.l    gsaddr,a0
  363.     cmp.b    #'n',160(a0)
  364.     bne    guhd
  365.     move.l    #1,ruts
  366.     sub.l    #1,gubbx
  367.     move.l    #0,fall
  368.     move.l    #0,ramla
  369.     jsr    down
  370. guhd:    rts
  371.  
  372.  
  373.  
  374. huppe:    btst    #7,$bfe001
  375.     bne    nupe
  376.     cmp.l    #0,fall
  377.     bne    nupe
  378.     cmp.l    #0,hoppa
  379.     bne    nupe
  380.     move.l    #3,hoppa
  381.     move.l    #0,hoppctr
  382.     btst    #1,$dff00c
  383.     beq    huft
  384.     move.l    #1,hoppa            
  385. huft:    btst    #1,$dff00d
  386.     beq    huftt
  387.     move.l    #2,hoppa            
  388. huftt:    
  389. nupe:    rts
  390.  
  391. hopp:    cmp.l    #0,hoppa
  392.     beq    ejhopp
  393.     add.l    #1,hoppctr
  394.     cmp.l    #1,hoppa
  395.     bne    tyu
  396.     jsr    left
  397. tyu:    cmp.l    #2,hoppa
  398.     bne    tayu
  399.     jsr    right
  400. tayu:    cmp.l    #22,hoppctr
  401.     bge    tayus
  402.     jsr    up
  403.     jmp    ejhopp
  404. tayus:    cmp.l    #43,hoppctr
  405.     beq    landat
  406.     move.l    #0,ramla
  407.     jsr    down    
  408. ejhopp:    rts
  409. landat:    move.l    #0,hoppa
  410.     rts    
  411.  
  412.  
  413. getgaddrs:
  414.     move.l    gubby,d1
  415.     lsr.l    #3,d1
  416.     mulu    #160,d1
  417.     move.l    gubbx,d2
  418.     lsr.l    #3,d2
  419.     add.l    d2,d1
  420.     move.l    #playground,gaddr
  421.     add.l    d1,gaddr
  422.     move.l    gaddr,gsaddr
  423.     move.l    gubbx,d1
  424.     move.l    gubbx,d2
  425.     lsr.l    #3,d1
  426.     lsl.l    #3,d1
  427.     cmp.l    d1,d2
  428.     beq    coit
  429.     add.l    #1,gsaddr
  430. coit:    rts    
  431.  
  432. left:    move.l    gsaddr,a2
  433.     cmp.b    #'h',-1(a2)
  434.     beq    nixxe
  435.     cmp.b    #'j',-1(a2)
  436.     beq    nixxe
  437.     cmp.b    #'h',-161(a2)
  438.     beq    nixxe
  439.     cmp.b    #'j',-161(a2)
  440.     beq    nixxe
  441.     move.l    gubby,d2
  442.     and.l    #7,d2
  443.     cmp.l    #0,d2
  444.     beq    wez
  445.     cmp.b    #'h',159(a2)
  446.     beq    nixxe
  447.     cmp.b    #'j',159(a2)
  448.     beq    nixxe
  449. wez:    sub.l    #1,gubbx
  450. nixxe:    rts
  451.  
  452. right:    move.l    gaddr,a2
  453.     cmp.b    #'h',1(a2)
  454.     beq    nizze
  455.     cmp.b    #'j',1(a2)
  456.     beq    nizze
  457.     cmp.b    #'h',-159(a2)
  458.     beq    nizze
  459.     cmp.b    #'j',-159(a2)
  460.     beq    nizze
  461.     move.l    gubby,d2
  462.     and.l    #7,d2
  463.     cmp.l    #0,d2
  464.     beq    wezz
  465.     cmp.b    #'h',161(a2)
  466.     beq    nizze
  467.     cmp.b    #'j',161(a2)
  468.     beq    nizze
  469. wezz:    add.l    #1,gubbx
  470. nizze:    rts
  471.  
  472.  
  473.  
  474.  
  475. down:    jsr    getgaddrs
  476.     cmp.l    #28,fall
  477.     bne    lever
  478.     lea    sclrs,a0
  479.     move.w    #$0fff,2(a0)
  480. lever:    cmp.l    #1,aktrapp
  481.     beq    stayput
  482.     move.l    gubby,d0
  483.     and.l    #7,d0
  484.     cmp.b    #0,d0
  485.     beq    ryft
  486.     add.l    #1,gubby
  487.     move.l    ramla,d0
  488.     add.l    d0,fall
  489.     rts
  490. ryft:    move.l    gaddr,a1
  491.     add.l    #160,a1
  492.     jsr    chk
  493.     cmp.l    #0,d3
  494.     beq    stayput
  495.     cmp.b    #'a',(a1)
  496.     bne    ewrt
  497.     cmp.l    #22,hoppctr
  498.     blt    ewrt
  499.     move.l    #0,hoppa
  500. ewrt:    cmp.b    #'b',-160(a1)
  501.     beq    fdhg
  502.     cmp.b    #'b',(a1)
  503.     beq    stayput
  504. fdhg:    cmp.b    #'a',-160(a1)
  505.     beq    fdhgl
  506.     cmp.b    #'a',(a1)
  507.     beq    stayput
  508. fdhgl:    move.l    gsaddr,a1
  509.     add.l    #160,a1
  510.     jsr    chk
  511.     cmp.l    #0,d3
  512.     beq    stayput
  513.     add.l    #1,gubby
  514.     move.l    ramla,d0
  515.     add.l    d0,fall    
  516.     rts
  517. stayput:cmp.l    #0,hoppa
  518.     beq    nhe
  519.     move.l    #0,hoppa
  520. nhe:    lea    sclrs,a0    
  521.     cmp.w    #$0fff,2(a0)
  522.     bne    guxx
  523.     move.l    #1,slafs
  524. guxx:    move.l    #0,fall
  525.     rts
  526. chk:    move.l    #0,d3
  527.     cmp.b    #'h',(a1)
  528.     beq    jah
  529.     cmp.b    #'i',(a1)
  530.     beq    jah
  531.     cmp.b    #'j',(a1)
  532.     beq    jah
  533.     cmp.b    #'c',(a1)
  534.     beq    jah
  535.     cmp.b    #'d',(a1)
  536.     beq    jah
  537.     cmp.b    #'x',(a1)
  538.     beq    jah
  539.     cmp.b    #'y',(a1)
  540.     beq    jah
  541.     cmp.b    #'w',(a1)
  542.     beq    jah
  543.     cmp.b    #0,ch5
  544.     beq    ert
  545.     cmp.b    #'e',(a1)
  546.     beq    jah
  547. ert:    move.l    #1,d3
  548. jah:    rts
  549. up:    jsr    getgaddrs
  550.     move.l    gubby,d0
  551.     and.l    #7,d0
  552.     cmp.b    #0,d0
  553.     beq    dryft
  554.     sub.l    #1,gubby
  555.     rts
  556. dryft:    move.l    gaddr,a0
  557.     cmp.b    #'h',-320(a0)
  558.     beq    staypuut
  559.     cmp.b    #'j',-320(a0)
  560.     beq    staypuut
  561.     move.l    gsaddr,a0
  562.     cmp.b    #'h',-320(a0)
  563.     beq    staypuut
  564.     cmp.b    #'j',-320(a0)
  565.     beq    staypuut
  566.     sub.l    #1,gubby
  567.     rts
  568. staypuut:rts
  569.  
  570. akatrappa:
  571.     move.l    #0,aktrapp
  572.     move.l    gaddr,a0
  573.     cmp.l    gsaddr,a0
  574.     bne    ght
  575.     cmp.b    #'b',(a0)
  576.     beq    fyg
  577. ght:    cmp.b    #'a',(a0)
  578.     beq    fyg
  579.     move.l    gubby,d0
  580.     and.l    #7,d0
  581.     cmp.l    #0,d0
  582.     beq    nejjjj
  583.     move.l    gaddr,a0
  584.     cmp.l    gsaddr,a0
  585.     bne    ghht
  586.     cmp.b    #'b',160(a0)
  587.     beq    fyg
  588. ghht:    cmp.b    #'a',160(a0)
  589.     beq    fyg
  590.     rts
  591. fyg:    jsr     up
  592.     move.l    #1,aktrapp
  593. nejjjj:    rts
  594.  
  595.  
  596. Loadfile:
  597.     move.l    d0,d6
  598.     move.l    dosbase,a6
  599.     move.l    a0,d1
  600.     move.l    #$3ed,d2
  601.     jsr    Open(a6)
  602.     move.l    d6,d2
  603.     move.l    d0,d1
  604.     move.l    d0,d6
  605.     cmp.l    #0,d6
  606.     beq    endlf
  607.     move.l    #$10000,d3
  608.     jsr    Read(a6)
  609.     move.l    d6,d1
  610.     jsr    Close(a6)    
  611. endlf:    move.l    sysbase,a6
  612.     move.l    d6,d0
  613.     rts
  614. draw:    lea    playground,a1
  615.     move.l    #0,d6
  616. dlp:    move.l    d6,d0
  617.     clr.l    d1
  618.     move.b    (a1)+,d1
  619.     cmp.b    #'v',d1
  620.     bne    ezz
  621.     move.b    #'u',d1
  622.     move.b    #'u',-1(a1)
  623. ezz:    jsr    writech
  624.     add.l    #1,edika
  625.     cmp.l    #100,edika
  626.     bne    nij
  627.     jsr    rsync
  628.     move.l    #0,edika
  629. nij:    add.l    #1,d6
  630.     cmp.l    #10240,d6
  631.     bne    dlp    
  632.     rts
  633. Writech:move.l    d0,d2
  634.     divu    #160,d2
  635.     move.l    d2,d3
  636.     mulu    #1280,d2
  637.     mulu    #160,d3
  638.     neg.l    d3
  639.     add.l    d0,d3
  640.     add.l    d3,d2
  641.     move.l    membase,a3
  642.     add.l    d2,a3
  643.     move.l     chars,a0
  644.     and.l    #31,d1
  645.     add.l    d1,a0
  646.     move.b    (a0),(a3)
  647.     move.b    40(a0),160(a3)
  648.     move.b    80(a0),320(a3)
  649.     move.b    120(a0),480(a3)
  650.     move.b    160(a0),640(a3)
  651.     move.b    200(a0),800(a3)
  652.     move.b    240(a0),960(a3)
  653.     move.b    280(a0),1120(a3)
  654.     add.l    #81920,a3
  655.     move.b    8000(a0),(a3)
  656.     move.b    8040(a0),160(a3)
  657.     move.b    8080(a0),320(a3)
  658.     move.b    8120(a0),480(a3)
  659.     move.b    8160(a0),640(a3)
  660.     move.b    8200(a0),800(a3)
  661.     move.b    8240(a0),960(a3)
  662.     move.b    8280(a0),1120(a3)
  663.     rts
  664. Plotscn:lea    cpr,a2
  665.     move.l    d0,d2
  666.     lsr     #4,d2
  667.     move.l    d2,d6
  668.     asl    #4,d2
  669.     sub.l    d2,d0
  670.     neg.l    d0
  671.     add.l    #15,d0
  672.     move.l    d0,d2
  673.     asl.l    #4,d2
  674.     add.l    d0,d2
  675.     move.b    d2,51(a2)        
  676.     mulu    #160,d1
  677.     add.l    membase,d1
  678.     asl.l    #1,d6
  679.     add.l    d6,d1
  680.     swap    d1
  681.     move.w    d1,2(a2)
  682.     swap    d1
  683.     move.w    d1,6(a2)
  684.     add.l    #81920,d1
  685.     swap    d1
  686.     move.w    d1,10(a2)
  687.     swap    d1
  688.     move.w    d1,14(a2)
  689.     rts
  690. ritagubben:
  691.     move.l    gubbg,d0
  692.     and.l    #6,d0
  693.     add.l    gubbh,d0
  694. ritagubbe:
  695.     move.l    chars,a2
  696.     add.l    #3520,a2
  697.     add.l    d0,a2
  698.     lea    gdata,a1
  699.     move.l    #15,d0
  700. ritz:    move.w    (a2),(a1)+
  701.     move.w    8000(a2),(a1)+
  702.     add.l    #40,a2
  703.     dbra    d0,ritz
  704.     rts
  705. uppdat:    move.l    #playground,d0
  706.     move.l    gaddr,d1
  707.     sub.l    #1618,d1
  708.     sub.l    d0,d1
  709.     move.l    d1,d0
  710.     move.l    d1,d2
  711.     divu    #160,d2
  712.     move.l    d2,d3
  713.     mulu    #1280,d2
  714.     mulu    #160,d3
  715.     neg.l    d3
  716.     add.l    d0,d3
  717.     add.l    d3,d2
  718.     move.l    membase,a3
  719.     add.l    d2,a3
  720.     move.l    gaddr,a0
  721.     sub.l    #1618,a0
  722.     move.l    #19,d1
  723. liloop:    move.l    a0,a1
  724.     move.l    a3,a2
  725.     move.l    #39,d2
  726. bloop:    move.b  (a1),d0
  727.     cmp.b    #32,d0
  728.     beq    byyp
  729.     and.b    #24,d0
  730.     cmp.b    #0,d0
  731.     bne    byyp
  732.     jsr    andra
  733. byyp:    add.l    #1,a2
  734.     add.l    #1,a1
  735.     dbra    d2,bloop
  736.     add.l    #160,a0
  737.     add.l    #1280,a3
  738.     dbra    d1,liloop
  739.     rts
  740.     
  741. andra:    clr.l    d0
  742.     move.b    (a1),d0
  743.     and.b    #7,d0
  744.     sub.b    #1,d0
  745.     lsl.b    #3,d0
  746.     lea    ch1,a4
  747.     add.l    d0,a4
  748.     move.b    (a4),(a2)
  749.     move.b    1(a4),160(a2)
  750.     move.b    2(a4),320(a2)
  751.     move.b    3(a4),480(a2)
  752.     move.b    4(a4),640(a2)
  753.     move.b    5(a4),800(a2)
  754.     move.b    6(a4),960(a2)
  755.     move.b    7(a4),1120(a2)
  756.     rts
  757.  
  758. livingchars:
  759.     move.l    tsteg,d0
  760.     lea    ch1,a1
  761.     and.l    #7,d0
  762.     move.l    a1,a2
  763.     add.l    d0,a2    
  764.     move.b    #64,(a2)
  765.     move.b    #2,8(a2)
  766.     sub.l    #1,tsteg
  767.     move.l    tsteg,d0    
  768.     and.l    #7,d0
  769.     move.l    a1,a2
  770.     add.l    d0,a2    
  771.     move.b    #127,(a2)
  772.     move.b    #254,8(a2)
  773.     ror.w    #1,rugr
  774.     rol.w    #1,rugl
  775.     lea    ch3,a2
  776.     move.w    rugr,d0
  777.     move.w    d0,(a2)
  778.     move.w    d0,14(a2)
  779.     move.w    rugl,d0
  780.     move.w    d0,6(a2)
  781.     move.w    d0,8(a2)
  782.     add.l    #1,skajag
  783.     move.l    skajag,d0
  784.     and.l    #7,d0
  785.     cmp.l    #0,d0
  786.     bne    jaaaa
  787.     move.l    footctr,d0
  788.     lea    ch5,a2
  789.     lea    footholddata,a1
  790.     add.l    d0,a1
  791.     clr.l    d1
  792.     move.b    (a1),d1
  793.     add.l    d1,a2
  794.     move.b  1(a1),d1
  795.     move.b    d1,(a2)
  796.     add.l    #2,footctr
  797.     cmp.b    #13,2(a1)
  798.     bne    jaaaa
  799.     move.l    #0,footctr    
  800. jaaaa:    rts    
  801.  
  802. gubbdo:    move.l    #16,d4
  803.     lea    sclrs,a0
  804.     move.w    #$0faa,2(a0)
  805. blowup:    move.l    d4,d0
  806.     jsr    ritagubbe
  807.     jsr    rsync
  808.     jsr    rsync
  809.     jsr    rsync
  810.     jsr    rsync
  811.     jsr    rsync
  812.     add.l    #2,d4
  813.     cmp.l    #38,d4
  814.     bne    blowup
  815.     rts
  816. blackout:
  817.     lea    clrs,a0
  818.     move.w    #0,2(a0)
  819.     move.w    #0,6(a0)
  820.     move.w    #0,10(a0)
  821.     move.w    #0,14(a0)
  822.     rts
  823. lightson:
  824.     lea    clrs,a0
  825.     move.w    #$0888,2(a0)
  826.     move.w    #$0000,6(a0)
  827.     move.w    #$0eee,10(a0)
  828.     move.w    #$004f,14(a0)
  829.     rts
  830. clearinfo:
  831.     move.l    infoscr,a0
  832.     move.l    #3998,d0
  833. scnclr:    clr.b    (a0)+
  834.     dbra    d0,scnclr
  835.     rts
  836.     
  837. drawinfo:move.l    level,d0
  838.     lsl.l    #5,d0
  839.     add.l    d0,a0    
  840.     move.l    infoscr,a1
  841.     add.l    #642,a1
  842.     jsr    drawline
  843.     move.l    level,d0
  844.     and.l    #15,d0
  845.     add.l    #49,d0
  846.     lea    airline,a0
  847.     move.b    d0,7(a0)
  848.     lea    airline,a0
  849.     move.l    infoscr,a1
  850.     add.l    #1122,a1
  851.     jsr    drawline
  852.     lea    scline,a0
  853.     move.l    infoscr,a1
  854.     add.l    #1602,a1
  855.     jsr    drawline
  856.     lea    lifeline,a0
  857.     move.l    lives,d0
  858.     add.l    #48,d0
  859.     move.b    d0,7(a0)
  860.     move.l    infoscr,a1
  861.     add.l    #2082,a1
  862.     jsr    drawline
  863.     rts
  864.     
  865. drawline:
  866.     move.l    #31,d0
  867.     clr.l    d1
  868.     move.l    chars,a2
  869.     add.l    #2560,a2
  870. qwerty:    move.b    (a0)+,d1
  871.     move.l    a2,a3
  872.     cmp.b    #32,d1
  873.     beq    ewq
  874.     cmp.b    #60,d1
  875.     bge    ewq
  876.     add.l    #320,a3
  877.     and.l    #15,d1
  878. ewq:    and.l    #31,d1
  879.     add.l    d1,a3
  880.     move.b    (a3),(a1)
  881.     move.b    40(a3),40(a1)
  882.     move.b    80(a3),80(a1)
  883.     move.b    120(a3),120(a1)
  884.     move.b    160(a3),160(a1)
  885.     move.b    200(a3),200(a1)
  886.     move.b    240(a3),240(a1)
  887.     move.b    280(a3),280(a1)
  888.     add.l    #1,a1
  889.     dbra    d0,qwerty
  890.     rts    
  891. spritesetup:
  892.     lea    zprite,a0
  893.     move.l    #spr0,d0
  894.     jsr    bestam
  895.     add.l    #8,a0
  896.     move.l    #spr1,d0
  897.     jsr    bestam
  898.     add.l    #8,a0
  899.     move.l    #spr2,d0
  900.     jsr    bestam
  901.     add.l    #8,a0
  902.     move.l    #spr3,d0
  903.     jsr    bestam
  904.     add.l    #8,a0
  905.     move.l    #spr4,d0
  906.     jsr    bestam
  907.     add.l    #8,a0
  908.     move.l    #spr5,d0
  909.     jsr    bestam
  910.     lea    nouse,a0
  911.     move.l    #nospr,d0
  912.     rts
  913. bestam:    move.w    d0,6(a0)
  914.     swap    d0
  915.     move.w    d0,2(a0)
  916.     rts
  917.     
  918. spritestartup:
  919.     move.l    level,d0
  920.     mulu    #192,d0
  921.     lea    levelsprites,a0
  922.     add.l    d0,a0
  923.     lea    sprs0,a1
  924.     jsr    plocka
  925.     add.l    #32,a0
  926.     lea    sprs1,a1    
  927.     jsr     plocka
  928.     add.l    #32,a0
  929.     lea    sprs2,a1    
  930.     jsr     plocka
  931.     add.l    #32,a0
  932.     lea    sprs3,a1    
  933.     jsr     plocka
  934.     add.l    #32,a0
  935.     lea    sprs4,a1    
  936.     jsr     plocka
  937.     add.l    #32,a0
  938.     lea    sprs5,a1    
  939.     jsr     plocka
  940.     rts
  941. plocka:    move.l    (a0),(a1)
  942.     move.w    4(a0),4(a1)
  943.     clr.w    6(a1)
  944.     move.w    6(a0),8(a1)
  945.     clr.w    10(a1)
  946.     move.l    8(a0),12(a1)
  947.     move.l    12(a0),16(a1)
  948.     move.l    16(a0),20(a1)
  949.     move.l    20(a0),24(a1)
  950.     move.l    24(a0),28(a1)
  951.     move.w    28(a0),32(a1)
  952.     rts
  953. spritesgone:
  954.     move.l    #0,spr0
  955.     move.l    #0,spr1
  956.     move.l    #0,spr2
  957.     move.l    #0,spr3
  958.     move.l    #0,spr4
  959.     move.l    #0,spr5
  960.     rts
  961. zpritte:lea    sprs0,a0
  962.     lea    spr0,a1
  963.     move.l    #zclrs0,d1    
  964.     jsr    handle    
  965.     lea    sprs1,a0
  966.     lea    spr1,a1
  967.     move.l    #trash,d1    
  968.     jsr    handle    
  969.     lea    sprs2,a0
  970.     lea    spr2,a1
  971.     move.l    #zclrs1,d1    
  972.     jsr    handle    
  973.     lea    sprs3,a0
  974.     lea    spr3,a1
  975.     move.l    #trash,d1    
  976.     jsr    handle    
  977.     lea    sprs4,a0
  978.     lea    spr4,a1
  979.     move.l    #zclrs2,d1    
  980.     jsr    handle    
  981.     lea    sprs5,a0
  982.     lea    spr5,a1
  983.     move.l    #trash,d1    
  984.     jsr    handle    
  985.     rts
  986. handle:    cmp.w    #0,(a0)
  987.     beq    outta
  988.     add.w    #1,10(a0)
  989.     move.w    10(a0),d0
  990.     cmp.w    8(a0),d0
  991.     bne    neeeee
  992.     move.w    #0,10(a0)
  993.     move.w    20(a0),d0
  994.     add.w    d0,30(a0)
  995.     move.w    30(a0),d0
  996.     cmp.w    12(a0),d0
  997.     bne    nee
  998.     neg.w    20(a0)
  999. nee:    cmp.w    14(a0),d0
  1000.     bne    neee
  1001.     neg.w    20(a0)
  1002. neee:    move.w    22(a0),d0
  1003.     add.w    d0,32(a0)
  1004.     move.w    32(a0),d0
  1005.     cmp.w    16(a0),d0
  1006.     bne    neeee
  1007.     neg.w    22(a0)
  1008. neeee:    cmp.w    18(a0),d0
  1009.     bne    neeeee
  1010.     neg.w    22(a0)
  1011. neeeee:    add.w    #1,6(a0)
  1012.     move.w    4(a0),d0
  1013.     cmp.w    6(a0),d0
  1014.     bne    selik
  1015.     move.w    #0,6(a0)
  1016.     eor.w    #2,2(a0)
  1017. selik:    move.l    d1,a2
  1018.     move.w    24(a0),2(a2)
  1019.     move.w    26(a0),6(a2)
  1020.     move.w    28(a0),10(a2)
  1021.     clr.l    d0
  1022.     move.w    32(a0),d0
  1023.     sub.l    gubby,d0
  1024.     add.l    #$70,d0
  1025.     cmp.w    #10,d0
  1026.     blt    outta
  1027.     cmp.w    #$c0,d0
  1028.     bge    outta
  1029.     move.b    d0,(a1)
  1030.     add.l    #23,d0
  1031.     move.b    d0,2(a1)
  1032.     cmp.w    #$c0,d0
  1033.     blt    ovan
  1034.     move.b    #$c0,2(a1)
  1035. ovan:    move.w    30(a0),d0
  1036.     sub.l    gubbx,d0
  1037.     add.l    #268,d0
  1038.     cmp.w    #100,d0
  1039.     blt    outta
  1040.     cmp.w    #480,d0
  1041.     bge    outta
  1042.     move.w    d0,d1
  1043.     and.l    #1,d1
  1044.     move.b    d1,3(a1)
  1045.     lsr.w    #1,d0
  1046.     move.b    d0,1(a1)
  1047.     move.l    #22,d1
  1048.     move.l    chars,a3
  1049.     move.w    2(a0),d0
  1050.     add.l    d0,a3
  1051.     add.l    #4480,a3
  1052. reeta:    move.w    (a3),4(a1)
  1053.     move.w    8000(a3),6(a1)            
  1054.     add.l    #4,a1
  1055.     add.l    #40,a3
  1056.     dbra    d1,reeta
  1057.     rts
  1058. outta:    move.l    #0,(a1)
  1059.     rts
  1060.  
  1061. ;­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  1062. ;­   NoisetrackerV2.0 Normal replay   ­
  1063. ;­     Uses registers d0-d3/a0-a5     ­
  1064. ;­ Mahoney & Kaktus - (C) E.A.S. 1990 ­
  1065. ;­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  1066.  
  1067. ;mt_data=$58000
  1068.  
  1069. mt_init:movem.l    d0-d2/a0-a2,-(a7)
  1070.     move.l    mtdata,a0
  1071.     lea    $3b8(a0),a1
  1072.     moveq    #$7f,d0
  1073.     moveq    #0,d2
  1074.     moveq    #0,d1
  1075. mt_lop2:move.b    (a1)+,d1
  1076.     cmp.b    d2,d1
  1077.     ble.s    mt_lop
  1078.     move.l    d1,d2
  1079. mt_lop:    dbf    d0,mt_lop2
  1080.     addq.b    #1,d2
  1081.  
  1082.     asl.l    #8,d2
  1083.     asl.l    #2,d2
  1084.     lea    4(a1,d2.l),a2
  1085.     lea    mt_samplestarts(pc),a1
  1086.     add.w    #42,a0
  1087.     moveq    #$1e,d0
  1088. mt_lop3:clr.l    (a2)
  1089.     move.l    a2,(a1)+
  1090.     moveq    #0,d1
  1091.     move.w    (a0),d1
  1092.     asl.l    #1,d1
  1093.     add.l    d1,a2
  1094.     add.l    #$1e,a0
  1095.     dbf    d0,mt_lop3
  1096.  
  1097.     or.b    #2,$bfe001
  1098.     move.b    #6,mt_speed
  1099.     moveq    #0,d0
  1100.     lea    $dff000,a0
  1101.     move.w    d0,$a8(a0)
  1102.     move.w    d0,$b8(a0)
  1103.     move.w    d0,$c8(a0)
  1104.     move.w    d0,$d8(a0)
  1105.     clr.b    mt_songpos
  1106.     clr.b    mt_counter
  1107.     clr.w    mt_pattpos
  1108.     movem.l    (a7)+,d0-d2/a0-a2
  1109.     rts
  1110.  
  1111. mt_end:    clr.w    $dff0a8
  1112.     clr.w    $dff0b8
  1113.     clr.w    $dff0c8
  1114.     clr.w    $dff0d8
  1115.     move.w    #$f,$dff096
  1116.     rts
  1117.  
  1118.  
  1119. mt_music:
  1120.     movem.l    d0-d3/a0-a5,-(a7)
  1121.     move.l    mtdata,a0
  1122.     addq.b    #1,mt_counter
  1123.     move.b    mt_counter(pc),d0
  1124.     cmp.b    mt_speed(pc),d0
  1125.     blt    mt_nonew
  1126.     clr.b    mt_counter
  1127.  
  1128.     move.l  mtdata,a0
  1129.     lea    $c(a0),a3
  1130.     lea    $3b8(a0),a2
  1131.     lea    $43c(a0),a0
  1132.  
  1133.     moveq    #0,d0
  1134.     moveq    #0,d1
  1135.     move.b    mt_songpos(pc),d0
  1136.     move.b    (a2,d0.w),d1
  1137.     lsl.w    #8,d1
  1138.     lsl.w    #2,d1
  1139.     add.w    mt_pattpos(pc),d1
  1140.     clr.w    mt_dmacon
  1141.  
  1142.     lea    $dff0a0,a5
  1143.     lea    mt_voice1(pc),a4
  1144.     bsr    mt_playvoice
  1145.     addq.l    #4,d1
  1146.     lea    $dff0b0,a5
  1147.     lea    mt_voice2(pc),a4
  1148.     bsr    mt_playvoice
  1149.     addq.l    #4,d1
  1150.     lea    $dff0c0,a5
  1151.     lea    mt_voice3(pc),a4
  1152.     bsr    mt_playvoice
  1153.     addq.l    #4,d1
  1154.     lea    $dff0d0,a5
  1155.     lea    mt_voice4(pc),a4
  1156.     bsr    mt_playvoice
  1157.  
  1158.     move.w    mt_dmacon(pc),d0
  1159.     beq.s    mt_nodma
  1160.  
  1161.     bsr    mt_wait
  1162.     or.w    #$8000,d0
  1163.     move.w    d0,$dff096
  1164.     bsr    mt_wait
  1165. mt_nodma:
  1166.     lea    mt_voice1(pc),a4
  1167.     lea    $dff000,a3
  1168.     move.l    $a(a4),$a0(a3)
  1169.     move.w    $e(a4),$a4(a3)
  1170.     move.l    $a+$1c(a4),$b0(a3)
  1171.     move.w    $e+$1c(a4),$b4(a3)
  1172.     move.l    $a+$38(a4),$c0(a3)
  1173.     move.w    $e+$38(a4),$c4(a3)
  1174.     move.l    $a+$54(a4),$d0(a3)
  1175.     move.w    $e+$54(a4),$d4(a3)
  1176.  
  1177.     add.w    #$10,mt_pattpos
  1178.     cmp.w    #$400,mt_pattpos
  1179.     bne.s    mt_exit
  1180. mt_next:clr.w    mt_pattpos
  1181.     clr.b    mt_break
  1182.     addq.b    #1,mt_songpos
  1183.     and.b    #$7f,mt_songpos
  1184.     move.b    -2(a2),d0
  1185.     cmp.b    mt_songpos(pc),d0
  1186.     bne.s    mt_exit
  1187.     move.b    -1(a2),mt_songpos
  1188. mt_exit:tst.b    mt_break
  1189.     bne.s    mt_next
  1190.     movem.l    (a7)+,d0-d3/a0-a5
  1191.     rts
  1192.  
  1193. mt_wait:moveq    #3,d3
  1194. mt_wai2:move.b    $dff006,d2
  1195. mt_wai3:cmp.b    $dff006,d2
  1196.     beq.s    mt_wai3
  1197.     dbf    d3,mt_wai2
  1198.     moveq    #8,d2
  1199. mt_wai4:dbf    d2,mt_wai4
  1200.     rts
  1201.  
  1202. mt_nonew:
  1203.     lea    mt_voice1(pc),a4
  1204.     lea    $dff0a0,a5
  1205.     bsr    mt_com
  1206.     lea    mt_voice2(pc),a4
  1207.     lea    $dff0b0,a5
  1208.     bsr    mt_com
  1209.     lea    mt_voice3(pc),a4
  1210.     lea    $dff0c0,a5
  1211.     bsr    mt_com
  1212.     lea    mt_voice4(pc),a4
  1213.     lea    $dff0d0,a5
  1214.     bsr    mt_com
  1215.     bra.s    mt_exit
  1216.  
  1217. mt_mulu:
  1218. dc.w $000,$01e,$03c,$05a,$078,$096,$0b4,$0d2,$0f0,$10e,$12c,$14a
  1219. dc.w $168,$186,$1a4,$1c2,$1e0,$1fe,$21c,$23a,$258,$276,$294,$2b2
  1220. dc.w $2d0,$2ee,$30c,$32a,$348,$366,$384,$3a2
  1221.  
  1222. mt_playvoice:
  1223.     move.l    (a0,d1.l),(a4)
  1224.     moveq    #0,d2
  1225.     move.b    2(a4),d2
  1226.     lsr.b    #4,d2
  1227.     move.b    (a4),d0
  1228.     and.b    #$f0,d0
  1229.     or.b    d0,d2
  1230.     beq.s    mt_oldinstr
  1231.  
  1232.     lea    mt_samplestarts-4(pc),a1
  1233.     asl.w    #2,d2
  1234.     move.l    (a1,d2.l),4(a4)
  1235.     lsr.w    #1,d2
  1236.     move.w    mt_mulu(pc,d2.w),d2
  1237.     move.w    (a3,d2.w),8(a4)
  1238.     move.w    2(a3,d2.w),$12(a4)
  1239.     moveq    #0,d3
  1240.     move.w    4(a3,d2.w),d3
  1241.     tst.w    d3
  1242.     beq.s    mt_noloop
  1243.     move.l    4(a4),d0
  1244.     asl.w    #1,d3
  1245.     add.l    d3,d0
  1246.     move.l    d0,$a(a4)
  1247.     move.w    4(a3,d2.w),d0
  1248.     add.w    6(a3,d2.w),d0
  1249.     move.w    d0,8(a4)
  1250.     bra.s    mt_hejaSverige
  1251. mt_noloop:
  1252.     move.l    4(a4),d0
  1253.     add.l    d3,d0
  1254.     move.l    d0,$a(a4)
  1255. mt_hejaSverige:
  1256.     move.w    6(a3,d2.w),$e(a4)
  1257.     moveq    #0,d0
  1258.     move.b    $13(a4),d0
  1259.     move.w    d0,8(a5)
  1260.  
  1261. mt_oldinstr:
  1262.     move.w    (a4),d0
  1263.     and.w    #$fff,d0
  1264.     beq    mt_com2
  1265.     tst.w    8(a4)
  1266.     beq.s    mt_stopsound
  1267.     tst.b    $12(a4)
  1268.     bne.s    mt_stopsound
  1269.     move.b    2(a4),d0
  1270.     and.b    #$f,d0
  1271.     cmp.b    #5,d0
  1272.     beq.s    mt_setport
  1273.     cmp.b    #3,d0
  1274.     beq.s    mt_setport
  1275.  
  1276.     move.w    (a4),$10(a4)
  1277.     and.w    #$fff,$10(a4)
  1278.     move.w    $1a(a4),$dff096
  1279.     clr.b    $19(a4)
  1280.  
  1281.     move.l    4(a4),(a5)
  1282.     move.w    8(a4),4(a5)
  1283.     move.w    $10(a4),6(a5)
  1284.  
  1285.     move.w    $1a(a4),d0    ;dmaset
  1286.     or.w    d0,mt_dmacon
  1287.     bra    mt_com2
  1288.  
  1289. mt_stopsound:
  1290.     move.w    $1a(a4),$dff096
  1291.     bra    mt_com2
  1292.  
  1293. mt_setport:
  1294.     move.w    (a4),d2
  1295.     and.w    #$fff,d2
  1296.     move.w    d2,$16(a4)
  1297.     move.w    $10(a4),d0
  1298.     clr.b    $14(a4)
  1299.     cmp.w    d0,d2
  1300.     beq.s    mt_clrport
  1301.     bge    mt_com2
  1302.     move.b    #1,$14(a4)
  1303.     bra    mt_com2
  1304. mt_clrport:
  1305.     clr.w    $16(a4)
  1306.     rts
  1307.  
  1308. mt_port:move.b    3(a4),d0
  1309.     beq.s    mt_port2
  1310.     move.b    d0,$15(a4)
  1311.     clr.b    3(a4)
  1312. mt_port2:
  1313.     tst.w    $16(a4)
  1314.     beq.s    mt_rts
  1315.     moveq    #0,d0
  1316.     move.b    $15(a4),d0
  1317.     tst.b    $14(a4)
  1318.     bne.s    mt_sub
  1319.     add.w    d0,$10(a4)
  1320.     move.w    $16(a4),d0
  1321.     cmp.w    $10(a4),d0
  1322.     bgt.s    mt_portok
  1323.     move.w    $16(a4),$10(a4)
  1324.     clr.w    $16(a4)
  1325. mt_portok:
  1326.     move.w    $10(a4),6(a5)
  1327. mt_rts:    rts
  1328.  
  1329. mt_sub:    sub.w    d0,$10(a4)
  1330.     move.w    $16(a4),d0
  1331.     cmp.w    $10(a4),d0
  1332.     blt.s    mt_portok
  1333.     move.w    $16(a4),$10(a4)
  1334.     clr.w    $16(a4)
  1335.     move.w    $10(a4),6(a5)
  1336.     rts
  1337.  
  1338. mt_sin:
  1339. dc.b $00,$18,$31,$4a,$61,$78,$8d,$a1,$b4,$c5,$d4,$e0,$eb,$f4,$fa,$fd
  1340. dc.b $ff,$fd,$fa,$f4,$eb,$e0,$d4,$c5,$b4,$a1,$8d,$78,$61,$4a,$31,$18
  1341.  
  1342. mt_vib:    move.b    $3(a4),d0
  1343.     beq.s    mt_vib2
  1344.     move.b    d0,$18(a4)
  1345.  
  1346. mt_vib2:move.b    $19(a4),d0
  1347.     lsr.w    #2,d0
  1348.     and.w    #$1f,d0
  1349.     moveq    #0,d2
  1350.     move.b    mt_sin(pc,d0.w),d2
  1351.     move.b    $18(a4),d0
  1352.     and.w    #$f,d0
  1353.     mulu    d0,d2
  1354.     lsr.w    #7,d2
  1355.     move.w    $10(a4),d0
  1356.     tst.b    $19(a4)
  1357.     bmi.s    mt_vibsub
  1358.     add.w    d2,d0
  1359.     bra.s    mt_vib3
  1360. mt_vibsub:
  1361.     sub.w    d2,d0
  1362. mt_vib3:move.w    d0,6(a5)
  1363.     move.b    $18(a4),d0
  1364.     lsr.w    #2,d0
  1365.     and.w    #$3c,d0
  1366.     add.b    d0,$19(a4)
  1367.     rts
  1368.  
  1369.  
  1370. mt_arplist:
  1371. dc.b 0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1
  1372.  
  1373. mt_arp:    moveq    #0,d0
  1374.     move.b    mt_counter(pc),d0
  1375.     move.b    mt_arplist(pc,d0.w),d0
  1376.     beq.s    mt_arp0
  1377.     cmp.b    #2,d0
  1378.     beq.s    mt_arp2
  1379. mt_arp1:moveq    #0,d0
  1380.     move.b    3(a4),d0
  1381.     lsr.b    #4,d0
  1382.     bra.s    mt_arpdo
  1383. mt_arp2:moveq    #0,d0
  1384.     move.b    3(a4),d0
  1385.     and.b    #$f,d0
  1386. mt_arpdo:
  1387.     asl.w    #1,d0
  1388.     move.w    $10(a4),d1
  1389.     and.w    #$fff,d1
  1390.     lea    mt_periods(pc),a0
  1391.     moveq    #$24,d2
  1392. mt_arp3:cmp.w    (a0)+,d1
  1393.     bge.s    mt_arpfound
  1394.     dbf    d2,mt_arp3
  1395. mt_arp0:move.w    $10(a4),6(a5)
  1396.     rts
  1397. mt_arpfound:
  1398.     move.w    -2(a0,d0.w),6(a5)
  1399.     rts
  1400.  
  1401. mt_normper:
  1402.     move.w    $10(a4),6(a5)
  1403.     rts
  1404.  
  1405. mt_com:    move.w    2(a4),d0
  1406.     and.w    #$fff,d0
  1407.     beq.s    mt_normper
  1408.     move.b    2(a4),d0
  1409.     and.b    #$f,d0
  1410.     tst.b    d0
  1411.     beq.s    mt_arp
  1412.     cmp.b    #1,d0
  1413.     beq.s    mt_portup
  1414.     cmp.b    #2,d0
  1415.     beq.s    mt_portdown
  1416.     cmp.b    #3,d0
  1417.     beq    mt_port
  1418.     cmp.b    #4,d0
  1419.     beq    mt_vib
  1420.     cmp.b    #5,d0
  1421.     beq.s    mt_volport
  1422.     cmp.b    #6,d0
  1423.     beq.s    mt_volvib
  1424.     move.w    $10(a4),6(a5)
  1425.     cmp.b    #$a,d0
  1426.     beq.s    mt_volslide
  1427.     rts
  1428.  
  1429. mt_portup:
  1430.     moveq    #0,d0
  1431.     move.b    3(a4),d0
  1432.     sub.w    d0,$10(a4)
  1433.     move.w    $10(a4),d0
  1434.     cmp.w    #$71,d0
  1435.     bpl.s    mt_portup2
  1436.     move.w    #$71,$10(a4)
  1437. mt_portup2:
  1438.     move.w    $10(a4),6(a5)
  1439.     rts
  1440.  
  1441. mt_portdown:
  1442.     moveq    #0,d0
  1443.     move.b    3(a4),d0
  1444.     add.w    d0,$10(a4)
  1445.     move.w    $10(a4),d0
  1446.     cmp.w    #$358,d0
  1447.     bmi.s    mt_portdown2
  1448.     move.w    #$358,$10(a4)
  1449. mt_portdown2:
  1450.     move.w    $10(a4),6(a5)
  1451.     rts
  1452.  
  1453. mt_volvib:
  1454.      bsr    mt_vib2
  1455.      bra.s    mt_volslide
  1456. mt_volport:
  1457.      bsr    mt_port2
  1458.  
  1459. mt_volslide:
  1460.     moveq    #0,d0
  1461.     move.b    3(a4),d0
  1462.     lsr.b    #4,d0
  1463.     beq.s    mt_vol3
  1464.     add.b    d0,$13(a4)
  1465.     cmp.b    #$40,$13(a4)
  1466.     bmi.s    mt_vol2
  1467.     move.b    #$40,$13(a4)
  1468. mt_vol2:moveq    #0,d0
  1469.     move.b    $13(a4),d0
  1470.     move.w    d0,8(a5)
  1471.     rts
  1472.  
  1473. mt_vol3:move.b    3(a4),d0
  1474.     and.b    #$f,d0
  1475.     sub.b    d0,$13(a4)
  1476.     bpl.s    mt_vol4
  1477.     clr.b    $13(a4)
  1478. mt_vol4:moveq    #0,d0
  1479.     move.b    $13(a4),d0
  1480.     move.w    d0,8(a5)
  1481.     rts
  1482.  
  1483. mt_com2:move.b    $2(a4),d0
  1484.     and.b    #$f,d0
  1485.     cmp.b    #$e,d0
  1486.     beq.s    mt_filter
  1487.     cmp.b    #$d,d0
  1488.     beq.s    mt_pattbreak
  1489.     cmp.b    #$b,d0
  1490.     beq.s    mt_songjmp
  1491.     cmp.b    #$c,d0
  1492.     beq.s    mt_setvol
  1493.     cmp.b    #$f,d0
  1494.     beq.s    mt_setspeed
  1495.     rts
  1496.  
  1497. mt_filter:
  1498.     move.b    3(a4),d0
  1499.     and.b    #1,d0
  1500.     asl.b    #1,d0
  1501.     and.b    #$fd,$bfe001
  1502.     or.b    d0,$bfe001
  1503.     rts
  1504.  
  1505. mt_pattbreak:
  1506.     move.b    #1,mt_break
  1507.     rts
  1508.  
  1509. mt_songjmp:
  1510.     move.b    #1,mt_break
  1511.     move.b    3(a4),d0
  1512.     subq.b    #1,d0
  1513.     move.b    d0,mt_songpos
  1514.     rts
  1515.  
  1516. mt_setvol:
  1517.     cmp.b    #$40,3(a4)
  1518.     bls.s    mt_sv2
  1519.     move.b    #$40,3(a4)
  1520. mt_sv2:    moveq    #0,d0
  1521.     move.b    3(a4),d0
  1522.     move.b    d0,$13(a4)
  1523.     move.w    d0,8(a5)
  1524.     rts
  1525.  
  1526. mt_setspeed:
  1527.     moveq    #0,d0
  1528.     move.b    3(a4),d0
  1529.     cmp.b    #$1f,d0
  1530.     bls.s    mt_sp2
  1531.     moveq    #$1f,d0
  1532. mt_sp2:    tst.w    d0
  1533.     bne.s    mt_sp3
  1534.     moveq    #1,d0
  1535. mt_sp3:    move.b    d0,mt_speed
  1536.     rts
  1537.  
  1538. mt_periods:
  1539. dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c,$023a,$021a,$01fc,$01e0
  1540. dc.w $01c5,$01ac,$0194,$017d,$0168,$0153,$0140,$012e,$011d,$010d,$00fe
  1541. dc.w $00f0,$00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097,$008f,$0087
  1542. dc.w $007f,$0078,$0071,$0000
  1543.  
  1544. mt_speed:    dc.b    6
  1545. mt_counter:    dc.b    0
  1546. mt_pattpos:    dc.w    0
  1547. mt_songpos:    dc.b    0
  1548. mt_break:    dc.b    0
  1549. mt_dmacon:    dc.w    0
  1550. mt_samplestarts:blk.l    $1f,0
  1551. mt_voice1:    blk.w    13,0
  1552.         dc.w    1
  1553. mt_voice2:    blk.w    13,0
  1554.         dc.w    2
  1555. mt_voice3:    blk.w    13,0
  1556.         dc.w    4
  1557. mt_voice4:    blk.w    13,0
  1558.         dc.w    8
  1559.  
  1560. introduction:
  1561.     lea    intrline,a0
  1562.     move.l    infoscr,a1
  1563.     add.l    #1122,a1
  1564.     jsr    drawline
  1565.     lea    fireline,a0
  1566.     move.l    infoscr,a1
  1567.     add.l    #1602,a1
  1568.     jsr    drawline
  1569.     lea    scrolltext,a0
  1570.     move.l    a0,scrlctr
  1571.     move.l    #0,chctr
  1572. scrolla:move.l    infoscr,d1
  1573.     add.l    #2242,d1
  1574.     and.l    #$fffffffe,d1
  1575.     move.l    d1,a1
  1576.     lea    scchr,a0
  1577.     move.l    #7,d1
  1578. scrline: roxl.w    (a0)
  1579.     roxl.w    38(a1)
  1580.     roxl.w    36(a1)
  1581.     roxl.w    34(a1)
  1582.     roxl.w    32(a1)
  1583.     roxl.w    30(a1)
  1584.     roxl.w    28(a1)
  1585.     roxl.w    26(a1)
  1586.     roxl.w    24(a1)
  1587.     roxl.w    22(a1)
  1588.     roxl.w    20(a1)
  1589.     roxl.w    18(a1)
  1590.     roxl.w    16(a1)
  1591.     roxl.w    14(a1)
  1592.     roxl.w    12(a1)
  1593.     roxl.w    10(a1)
  1594.     roxl.w    8(a1)
  1595.     roxl.w    6(a1)
  1596.     roxl.w    4(a1)
  1597.     roxl.w    2(a1)
  1598.     roxl.w    (a1)
  1599.     add.l    #40,a1
  1600.     add.l    #2,a0
  1601.     dbra    d1,scrline
  1602.     add.l    #1,chctr
  1603.     cmp.l    #8,chctr
  1604.     bne    fwait
  1605.     move.l    scrlctr,a0
  1606.     move.b    (a0),d0
  1607.     cmp.b    #0,d0
  1608.     bne    ej0
  1609.     lea    scrolltext,a0
  1610.     move.l    a0,scrlctr
  1611.     move.l    #32,d0
  1612. ej0:    add.l    #1,scrlctr
  1613.     move.l    #0,chctr
  1614.     move.l    chars,a2
  1615.     add.l    #2560,a2
  1616.     move.b    d0,d1
  1617.     and.b    #$70,d1
  1618.     cmp.b    #$20,d1
  1619.     bne     bulle
  1620.     sub.l    #320,a2
  1621. bulle:    cmp.b    #$30,d1
  1622.     bne     bulle1
  1623.     add.l    #320,a2
  1624.     and.l    #15,d0
  1625. bulle1:    and.l    #31,d0
  1626.     add.l    d0,a2
  1627.     lea    scchr,a0
  1628.     move.b    (a2),(a0)
  1629.     move.b    40(a2),2(a0)
  1630.     move.b    80(a2),4(a0)
  1631.     move.b    120(a2),6(a0)
  1632.     move.b    160(a2),8(a0)
  1633.     move.b    200(a2),10(a0)
  1634.     move.b    240(a2),12(a0)
  1635.     move.b    280(a2),14(a0)
  1636. fwait:    jsr    realrsync
  1637.     btst    #7,$bfe001
  1638.     bne    scrolla
  1639.     move.l    #scchr,a0
  1640.     move.l    #0,(a0)
  1641.     move.l    #0,4(a0)
  1642.     move.l    #0,8(a0)
  1643.     move.l    #0,12(a0)
  1644.     rts    
  1645.  
  1646.  
  1647.  
  1648. chfile:    dc.b    'blagger',0
  1649. pgfile:    dc.b    'pg',0
  1650. musfile:dc.b    'jomus',0
  1651.  
  1652. Dosname:dc.b    'dos.library',0
  1653. Gfxname:dc.b    'graphics.library',0
  1654.  
  1655. even
  1656. Dosbase:dc.l    0
  1657. GfxBase:dc.l    0
  1658. copbase:dc.l    0
  1659. Oldcop:    dc.l    0
  1660. Membase:dc.l    0
  1661. chars:    dc.l    0
  1662. bakgr:    dc.l    0
  1663. infoscr:dc.l    0
  1664. mtdata: dc.l    0
  1665. level:    dc.l    0
  1666. gmod:    dc.l    0
  1667. gubbg:    dc.l    0
  1668. gubbf:    dc.l     0
  1669. gubbx:    dc.l    0
  1670. gubby:    dc.l    0
  1671. gubbh:    dc.l    0
  1672. gaddr:    dc.l    0
  1673. gsaddr:    dc.l    0
  1674. offset:    dc.l    0
  1675. fall:    dc.l    0
  1676. hoppa:    dc.l    0
  1677. hoppctr:dc.l    0
  1678. aktrapp:dc.l    0
  1679. ruts:    dc.l    0
  1680. tsteg:    dc.l    0
  1681. rugr:    dc.w    0
  1682. rugl:    dc.w    0    
  1683. gamy:    dc.l    0
  1684. footctr:dc.l    0
  1685. skajag:    dc.l    0
  1686. ramla:    dc.l    0
  1687. slafs:    dc.l    0
  1688. nycklar:dc.l    0
  1689. nyckn:    dc.l    0    
  1690. klarat:    dc.l    0
  1691. detect:    dc.l    0
  1692. edika:    dc.l    0
  1693. lives:    dc.l    9
  1694. scrlctr:dc.l    0
  1695. chctr:    dc.l    0
  1696. Cpr:    dc.w    $00e0,$0000,$00e2,$c808,$00e4,$0000,$00e6,$e808
  1697. pblank:    dc.w    $00e8,$0000,$00ea,$0000
  1698.     dc.w    $0100,$3300,$008e,$2c81,$0090,$10ba,$0092,$0030
  1699.     dc.w    $0108,$0077,$010a,$0077,$0102,$00ff,$0094,$00d0
  1700. sprite:    dc.w    $0120,$0000,$0122,$0000,$0098,$e000
  1701. nouse:    dc.w    $0124,$0000,$0126,$0000
  1702. zprite:    dc.w    $0128,$0000,$012a,$0000,$012c,$0000,$012e,$0000
  1703.     dc.w    $0130,$0000,$0132,$0000,$0134,$0000,$0136,$0000
  1704.     dc.w    $0138,$0000,$013a,$0000,$013c,$0000,$013e,$0000
  1705. sclrs:    dc.w    $01a2,$0faa,$01a4,$0a40,$01a6,$0dd0    
  1706. zclrs0:    dc.w    $01aa,$0fac,$01ac,$0660,$01ae,$0dd0    
  1707. zclrs1:    dc.w    $01b2,$0f00,$01b4,$00f0,$01b6,$000f    
  1708. zclrs2:    dc.w    $01ba,$0f00,$01bc,$00f0,$01be,$000f    
  1709.     dc.w    $0180,$0000,$0182,$0000,$0184,$004f,$0186,$004f
  1710. clrs:    dc.w    $0188,$0888,$018a,$0000,$018c,$004f,$018e,$004f
  1711. low:    dc.w    $c001,$fffe,$0100,$1300,$0180,$0000,$0182,$0888
  1712. info:    dc.w    $00e0,$0000,$00e2,$0000
  1713.     dc.w    $01aa,$0000,$01ac,$0000,$01ae,$0000    
  1714.     dc.w    $01b2,$0000,$01b4,$0000,$01b6,$0000    
  1715.     dc.w    $01ba,$0000,$01bc,$0000,$01be,$0000    
  1716.     dc.w    $0108,$ffff,$010a,$ffff,$0102,$0000    
  1717.     dc.w    $d801,$fffe,$0182,$0c66
  1718.     dc.w    $e401,$fffe,$0182,$0099
  1719.     dc.w    $f201,$fffe,$0182,$0bb0
  1720.     dc.w    $ffff,$fffe
  1721.  
  1722. varchars:
  1723. ch1:    dc.b    63,0,0,0,0,0,0,0
  1724. ch2:    dc.b    252,0,0,0,0,0,0,0
  1725. ch3:    dc.b    102,102,0,102,102,0,102,102
  1726. ch4:    dc.b    102,102,0,102,102,0,102,102
  1727. ch5:    dc.b    255,102,255,102,255,102,255,102
  1728.  
  1729. even
  1730. scchr:  dc.l    0,0,0,0,0,0
  1731. even
  1732. gubbsprite:
  1733.     dc.w    $7086,$8000
  1734. gdata:    dc.l    10,20,30,40,50,60,0,80,90,50,30,50,0,20,30,40,0
  1735. footholddata:
  1736.     dc.b    0,255,1,102,2,255,3,102,4,255,5,102,6,255,7,102
  1737.     dc.b    7,102,7,0,6,0,5,0,4,0,3,0,2,0,1,0,0,0,0,0
  1738.     dc.b    0,0,13,13,13,13
  1739.  
  1740. intrline:dc.b    '     Welcome to jonas fulstrand '
  1741. fireline:dc.b    '            press fire          '
  1742. airline: dc.b   ' level 0                        '
  1743. scline:     dc.b    ' score 000000                   '
  1744. lifeline:dc.b    ' lives 3                        '
  1745. gotxt:     dc.b   '              game over         '
  1746. levline: dc.b    ' Welcome to the first level     '
  1747.      dc.b    ' this is the toilet paper level '
  1748.      dc.b    ' level three yessiree           '
  1749.      dc.b   ' Gnuff gnuff uhu                '
  1750.      dc.b   ' i killed laura palmer          '
  1751.      dc.b   ' aargh   pommes fritzen flyr    '
  1752.      dc.b    ' var alltid bizarr              '
  1753.      dc.b   ' congratulations   You did it   '
  1754. even
  1755.  
  1756. trash:    dc.l    0,0,0
  1757. nospr:    dc.l    0,0,0,0,0,0
  1758. leveldata:
  1759.     dc.l    338,176,4,0
  1760.     dc.l    600,136,5,0
  1761.     dc.l    672,248,7,0
  1762.     dc.l    184,384,6,0
  1763.     dc.l    608,352,2,0
  1764.     dc.l    856,344,6,0
  1765.     dc.l    1056,376,3,0
  1766.     dc.l    824,128,4,0
  1767.  
  1768. sprs0:    dc.w    1,0,25,0,1,0,0,0,135,215,0,1,$f11,$000,$fff,268,186
  1769. sprs1:    dc.l    0,0,0,0,0,0,0,0,0
  1770. sprs2:    dc.l    0,0,0,0,0,0,0,0,0
  1771. sprs3:    dc.l    0,0,0,0,0,0,0,0,0
  1772. sprs4:    dc.l    0,0,0,0,0,0,0,0,0
  1773. sprs5:    dc.l    0,0,0,0,0,0,0,0,0
  1774.  
  1775. spr0:    dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1776. spr1:    dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1777. spr2:    dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1778. spr3:    dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1779. spr4:    dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1780. spr5:    dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1781.     dc.l    0,0,0,0
  1782. levelsprites:
  1783. lv0:       dc.w    1,0,25,1,0,0,135,215,0,1,$f11,$000,$fff,268,186,0
  1784.     dc.l    0,0,0,0,0,0,0,0
  1785.     dc.w    1,8,30,1,360,460,0,0,1,0,$ff0,$000,$f00,368,86,0
  1786.     dc.l    0,0,0,0,0,0,0,0
  1787.     dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1788. lv1:       dc.w    1,4,25,1,0,0,160,210,0,1,$c70,$000,$fff,500,176,0
  1789.     dc.l    0,0,0,0,0,0,0,0
  1790.        dc.w    1,12,5,2,690,626,0,0,1,0,$f11,$000,$fff,678,120,0
  1791.        dc.w    1,12,6,2,690,626,0,0,1,0,$f11,$000,$fff,638,80,0
  1792.     dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1793. lv2:       dc.w    1,24,20,1,500,650,0,0,1,0,$f00,$000,$ff0,555,256,0
  1794.     dc.w    1,24,25,1,500,650,0,0,1,0,$f00,$000,$ff0,645,256,0
  1795.     dc.w    1,16,14,1,274,380,0,0,1,0,$bbb,$000,$f80,346,246,0
  1796.     dc.w    0,28,4,2,0,0,275,242,0,1,$ccc,$000,$888,456,266,0
  1797.     dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1798. lv3:       dc.w    1,36,20,1,236,508,0,0,1,0,$ff0,$000,$fff,440,396,0
  1799.     dc.l    0,0,0,0,0,0,0,0
  1800.     dc.w    1,28,4,1,0,0,460,428,0,1,$ccc,$000,$888,245,431,0
  1801.     dc.w    1,28,4,2,0,0,465,435,0,1,$ccc,$000,$888,340,441,0
  1802.     dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1803. lv4:      dc.w    1,20,11,2,0,0,304,350,0,1,$fff,$000,$ff0,645,346,0
  1804.     dc.w    1,20,13,1,0,0,322,360,0,1,$fff,$000,$ff0,682,336,0
  1805.     dc.w    1,20,45,2,0,0,304,336,0,1,$fff,$000,$ff0,728,316,0
  1806.     dc.w    1,20,02,1,0,0,334,360,0,1,$fff,$000,$ff0,777,336,0
  1807.     dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1808. lv5:      dc.w    1,960,17,2,0,0,374,406,0,1,$0c0,$fff,$000,856,396,0
  1809.     dc.w    1,960,13,1,652,812,0,0,1,0,$0c0,$fff,$000,802,403,0
  1810.     dc.w    1,32,14,2,940,1000,0,0,1,0,$fff,$000,$ccc,980,433,0
  1811.     dc.l    0,0,0,0,0,0,0,0
  1812.     dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1813. lv6:      dc.w    1,964,17,1,910,1066,0,0,1,0,$f00,$fc0,$000,926,305,0
  1814.     dc.l    0,0,0,0,0,0,0,0
  1815.     dc.w    1,968,13,2,712,772,238,280,1,1,$f77,$fff,$000,752,253,0
  1816.     dc.w    0,968,14,2,0,0,70,170,0,1,$f77,$fff,$000,752,133,0
  1817.     dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1818. lv7:      dc.w    1,984,0,2,900,1080,0,0,1,0,$0a0,$ff0,$000,1049,160,0
  1819.     dc.w    1,986,0,2,916,1096,0,0,1,0,$0a0,$ff0,$000,1065,160,0
  1820.     dc.w    1,1944,0,2,900,1080,0,0,1,0,$0a0,$ff0,$000,1049,183,0
  1821.     dc.w    1,1946,0,2,916,1096,0,0,1,0,$0a0,$ff0,$000,1065,183,0
  1822.     dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1823.     dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1824.     dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1825.  
  1826. scrolltext:
  1827. dc.b '  hello.            this game was written by marcus g. '
  1828. dc.b 'and the music was '
  1829. dc.b 'made by daniel f. using "noisetracker" from hallonsoft. '
  1830. dc.b '  the face on the intro-picture belongs to'
  1831. dc.b ' jonas sjostrand.   this game is intended for people like me, '
  1832. dc.b 'who think that the most enjoyable computer games were those '
  1833. dc.b 'designed for the c64 before 1987, and especially for people '
  1834. dc.b 'who liked "manic miner" and "son of blagger".  this game'
  1835. dc.b ' does not contain any beautiful graphics, mainly because i"m'
  1836. dc.b ' so bad at drawing, but i hope that you will like it anyway.'
  1837. dc.b '   "jonas fulstrand" is, of course, public domain! '
  1838. dc.b '    there will be no greetings to any hacker-groups,  because'
  1839. dc.b ' there is no longer anyone who deserves it. a little hello though'
  1840. dc.b ' to the following persons - mattias f, stefan g, christian, jocke,'
  1841. dc.b ' hans f, mikael w, per o, joakim r, jonny b, fredrik f '
  1842. dc.b 'and others.     -    be-bop originalaskkopp !!!!         ',0
  1843.  
  1844.  
  1845. even
  1846. playground:                                   
  1847.     blk.b    13000,0
  1848.  
  1849. even
  1850. startinglevel:    dc.l    0
  1851. antalliv:    dc.l    9
  1852.  
  1853.